사이트 내 전체검색
[우분투리눅스] FTP서버구축(VSFTPD)
로빈아빠
https://cmd.kr/server/693 URL이 복사되었습니다.

본문

vsftp를 설치하기전에 다른 ftp가 설치되어 있는지 확인 합니다.

# sudo dpkg -l|grep ssh
# sudo dpkg -l|grep ftp

설치
# sudo apt-get install vsftpd(시냅틱에서 svftpd를 검색해서 설치해도 무관)

서비스 확인
# netstat -ntl

vsftp설정파일
# sudo gedit /etc/vsftpd.conf

ftp재시작(설정파일을 바꾸거나 했을때 실행)
$ sudo /etc/init.d/vsftpd restart "or" $ sudo restart vsftpd

1. anonymous_enable
익명 사용자의 접속 허용 여부를 설정하는 항목으로 default 값은 YES 입니다.
FTP 서버를 공개해서 운영할 것이 아니라면 NO로 설정값을 바꿔줍니다. 
2. local_enable
 
로컬 계정 사용자의 접속 허용 여부를 설정하는 항목입니다.  default 값은 YES로 설정되어 있으며
NO로 설정했을 때 로컬 계정으로 접속시 메세지를 출력하면서 접속을 거부하게 됩니다.
3. write_enable
 
default 값은 NO이고 값을 YES 로 바꿔줍니다. ftp 접속상태에서 쓰는 전용명령어 write를 허용할 것인지에 대한 설정입니다. 
4. local_umask
 
로컬 계정 사용자들의 umask 값을 설정하는 부분입니다. default 값은 077 입니다.
umask 값이 077 일 경우에 새로 생성되는 파일의 퍼미션은 600 이 되고 디렉토리 생성시의 퍼미션은 700이 됩니다.
보통은 local_umask 값을 022로 설정 
umask 값이 022 일 경우에 새로 생성되는 파일의 퍼미션은 655 이고 디렉토리의 경우는 755가 됩니다. 
 

5. file_open_mode
 
ftp에 파일을 업로드 하였을 경우의 파일의 퍼미션을 설정해주는 부분입니다.(설정파일에 없기때문에local_umask바로 밑중에 추가)
local_umask=022
 
file_open_mode=0644
 
6. chroot_list_enable7. chroot_list_file = /etc/vsftpd.chroot_list
 
7번과 8번의 옵션은 함께 작동하는 옵션입니다. chroot_list_enable의 값이 YES 이고 chroot_list_file = /etc/vsftpd.chroot_list
의 주석이 해제되어 있을 경우에 $sudo vi /etc/vsftpd.chroot_list  로 vsftpd.chroot_list에 유저아이디를 등록하면 등록된 유저는 자신에게 할당된 디렉토리를 벗어날 수 없게 됩니다.
vsftpd.chroot_list의 유저아이디 구분은 line으로 구분하기 때문에 enter로 구분하는 것입니다.
8. chroot_local_user(이걸로 루트로 못가게 함 모두 yes해주고 list에 공백을 두면 등록된 유저가 없기때문 루트로못감)
이 옵션은 ftp를 사용하는 계정이 여러개이고, 이런 여러 계정들이 자신에게 할당된 디렉토리를 벗어날 수 없도록 설정하는 부분입니다.
이 옵션은 전체 로컬 사용자들을 대상으로 chroot 기능이 적용됩니다.
만약 chroot_local_user 옵션과 chroot_list_enable 옵션이 둘 다 YES 가 설정된다면
sudo vi /etc/vsftpd.chroot_list  로/etc/vsftpd.chroot_list 에 등록된 유저만이 자신에게 할당된 디렉토리 밖으로 벗어날 수 있는 권한을 가지게 됩니다. 
9.이제 ftp를 여러 계정에서 이용하게 하기 위해서  사용자 계정을 추가하는 것을 알아봅시다.

 
# gedit /etc/login.defs
 
파일에 CREATE_HOME yes 라는 라인 하나를 추가시켜 주거나 주석해제시킨다음에 다음에 useradd 명령어를 사용할 때 유저폴더가 자동으로 생성되게 됩니다. 
보통의 리눅스에서 사용자 계정 생성 명령어는 아래와 같습니다.
# useradd 유저아이디 : 유저아이디로 계정을 생성합니다.
 
# passwd 유저아이디 : 유저아이디의 비밀번호를 설정합니다.
이렇게 계정을 생성하게 되면 보통 /home 폴더에 생성한 유저아이디를 이름으로 가지는 폴더가 생성이 됩니다.
이것이 생성되지 않을 경우가 있는데 이런 경우에는 수동으로 생성해 줄수도 있고,
계정 생성시 아래와 같은 명령어를 이용하면 자동으로 생성이 됩니다.

# useradd -m 유저아이디 

댓글목록

등록된 댓글이 없습니다.

1,139 (2/23P)

Search

Copyright © Cmd 명령어 3.128.173.32